package com.ruoyi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.domain.TestKnowledge;
import com.ruoyi.domain.vo.TestKnowledgeVo;
import com.ruoyi.domain.vo.TestSubjectGradeVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 考试平台知识点Mapper接口
 *
 */
@Repository
public interface TestKnowledgeMapper extends BaseMapper<TestKnowledge>
{
    /**
     * 查询考试平台知识点
     *
     * @param knowlId 考试平台知识点主键
     * @return 考试平台知识点
     */
    public TestKnowledge selectTestKnowledgeByKnowlId(Long knowlId);

    /**
     * 查询考试平台知识点列表
     *
     * @param grade 年级
     * @return 考试平台知识点集合
     */
    public List<TestSubjectGradeVo> selectTestKnowledgeList(@Param("grade") String grade);

    /**
     * 查询考试平台知识点列表 用于判断新增知识点是否重复
     *
     * @param testKnowledge 考试平台知识点
     * @return 考试平台知识点
     */
    public List<TestSubjectGradeVo> selectTestKnowledgeListByClass(TestKnowledge testKnowledge);

    /**
     * 新增考试平台知识点
     *
     * @param testKnowledge 考试平台知识点
     * @return 结果
     */
    public int insertTestKnowledge(TestKnowledge testKnowledge);

    /**
     * 修改考试平台知识点
     *
     * @param testKnowledge 考试平台知识点
     * @return 结果
     */
    public int updateTestKnowledge(TestKnowledge testKnowledge);

    /**
     * 查询考试平台知识点子节点id
     *
     * @param knowlId 考试平台知识点主键
     * @return 考试平台知识点
     */
    public List<TestKnowledge> selectTestKnowledgeChildId(Long knowlId);

    /**
     * 查询考试平台知识点列表
     *
     * @param grade 年级
     * @return 考试平台知识点集合
     */
    public List<TestKnowledgeVo> selectTestKnowledges(@Param("grade") String grade, @Param("subjectName") String subjectName);


}
